package com.ljf.authority.dto.query;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.ljf.common.dto.query.PageParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.util.List;

/**
 * 菜单列表定义--查询条件  authority_base_menu_tabulation
 *
 * @author LJF
 * @since 2024-10-17
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("菜单列表定义--查询条件")
@EqualsAndHashCode(callSuper = true)
public class AuthorityBaseMenuTabulationQuery extends PageParam implements Serializable {

    @JsonProperty("levelList")
    @ApiModelProperty(value = "层级(集合)")
    private List<Integer> levelList;

    @JsonProperty("level")
    @ApiModelProperty(value = "层级")
    private Integer level;

    @JsonProperty("pCode")
    @ApiModelProperty(value = "上级编码")
    private String pCode;

    @JsonProperty("pCodeRightLike")
    @ApiModelProperty(value = "上级编码(右模糊)")
    private String pCodeRightLike;

    @JsonProperty("codeList")
    @ApiModelProperty(value = "编码(集合)")
    private List<String> codeList;

    @JsonProperty("code")
    @ApiModelProperty(value = "编码")
    private String code;

    @JsonProperty("activation")
    @ApiModelProperty(value = "激活状态")
    private Integer activation;

    @JsonProperty("nameLike")
    @ApiModelProperty(value = "名称(模糊查询)")
    private String nameLike;

    @JsonProperty("pCodeList")
    @ApiModelProperty(value = "上级编码(集合)")
    private List<String> pCodeList;

    @JsonProperty("ids")
    @ApiModelProperty(value = "ID(集合)")
    private List<Long> ids;

}
